home *** CD-ROM | disk | FTP | other *** search
- Path: rational.com!rlk
- From: rlk@rational.com (Bob Kitzberger)
- Newsgroups: comp.lang.ada,comp.lang.c++,comp.lang.c,comp.lang.modula3,comp.lang.modula2,comp.lang.eiffel
- Subject: Re: Hungarian notation
- Followup-To: comp.lang.ada,comp.lang.c++,comp.lang.c,comp.lang.modula3,comp.lang.modula2,comp.lang.eiffel
- Date: 29 Jan 1996 17:33:48 GMT
- Organization: Rational Software Corporation
- Message-ID: <4ej0ds$sju@rational.rational.com>
- References: <30C40F77.53B5@swsbbs.com> <4cvu68$2jb@macaw.cyberport.com> <4d21og$iab@news.xmission.com> <4d2ok0$69s@beach.and.nl> <4dtv3gINNo9u@keats.ugrad.cs.ubc.ca> <4e5k6o$aci@grid.direct.ca>
- NNTP-Posting-Host: nubuddy.rational.com
- X-Newsreader: TIN [version 1.2 PL2]
-
- qjackson@direct.ca wrote:
- : I use typedef primarily if I know that an underlying data type might
- : change at some point in the future, and I want to have one central way
- : of changing it. [...]
- ...
- : Data abstraction.
-
- That bears as much resemblance to data abstraction as McDonald's bears
- to fine dining. You are using the primitive language types, and only
- in those special cases where you believe that a type will change do
- you introduce an alias for the type name. That is not abstraction.
- The term "abstraction" means to emphasize the essential aspects and
- de-emphasize the inessential -- i.e. the user of a module (ADT, package,
- class, etc.) sees the abstraction, and you, the implementor of
- the module/ADT/package/class, hide the inessential details. One
- of these inessential details is the primitive type (or types) that
- make up the inner workings of your abstraction.
-
- IMNSHO.
-
-
-
-